Many types of document printers have been developed including home and office impact, laser, led and ink-jet printers. Larger printers may be used for office workgroup applications or in industrial high speed printing applications. Similarly, many special purpose printers have been developed such as dedicated envelope addressing printers including the ADDRESSRIGHT line of addressing printers available from Pitney Bowes Inc. of Stamford, Conn.
Many physical data connections are used to communicate with printers including the common parallel port connections using CENTRONICS or IEEE 1284 standards, serial ports such as Universal Serial Bus (USB), ETHERNET network connections, wireless networking connection such as those using the IEEE 802.11 standards, FireWire using the IEEE 1394 standard and Infra Red wireless using the IrDA standard. Many printers process a single job at a time over the communications channel and other printers support local spooling of print jobs. Additionally, network servers may remotely spool print jobs being sent to a device connected to the network.
Many printers are configured to receive data from a host computer or printer spool in a printer control language format. An early format is the ASCII format used by early printers whereby ASCII character and control codes were sent to the printer for processing. Character fonts describe generally the shape of each individual character and often the size of each character. The ASCII code assigns a unique 7-bit number to each upper and lower case English alphabet character, but does not define the character font to be used. In such printing systems, the printer might have a dedicated internal font stored in hardware or firmware used for processing the ASCII stream. A more modern font code standard is the Unicode font code system including standards such as the UTF-8 standards that is said to maximize compatibility with the ASCII system. Additionally, more complicated printer control protocols and languages were also developed. One widely used printer control language is known as the “printer control language” (PCL) and has been revised through several released versions of the standard including PCL 5. Additionally, the POSTSCRIPT printing language is frequently used with printing systems. Modem printers often provide for the use of soft fonts to supplement a set of character fonts stored in printer hardware or firmware. Such soft fonts are downloaded to the printer from the host computer. However, raster file formats typically increase data transmission times between the host and the printer.
When using PCL environment, a host computer typically configures a data stream to include both print function commands and interspersed print data. The printer then typically converts the received data stream into a list of simple commands, called display commands, which define what must be printed. The printer then processes the display commands and renders the described objects into a raster bit map. Typically, only a small proportion of the printer's available memory is allocated to storage of the print function commands and interspersed data, with the majority of the print buffer area being given over to support of processing functions and the resultant raster bit map image. Accordingly, printers do not always advantageously apportion available memory. Additionally, multi-byte character fonts typically require more memory space than single byte character fonts. Moreover, the traditional protocols used for page printing may not always be suitable for use with specialized printing systems such as addressing systems. Certain printers including certain laser printers include a driver selectable feature such that True Type Fonts are printed as graphics, but all the fonts would then be printed as graphics. Certain printers process raster bitmap images directly sent by the host computer.
Accordingly, there are several disadvantages of currently available printing systems and methods in general and of printing systems for user-selectable dynamic soft font control and data format processing.